1. Field of the Invention
Aspects of the present invention relate to data downloads on a network, and more particularly, to a method of downloading data in a peer-to-peer service on wired and wireless integrated networks, and a node therefor.
2. Description of the Related Art
Recently, a peer-to-peer method has been widely used for exchanging information on the internet. The peer-to-peer method shares files possessed by nodes which participate in the peer-to-peer network. Various methods for sharing and retrieving files according to the peer-to-peer method include: broadcasting a retrieval message to every peripheral node; retrieving the file with the identification key for the shared file; and forming topology, sharing the topology and data information and retrieving the file.
FIG. 1 illustrates a conventional procedure of retrieving and downloading a file shared by a node of the peer-to-peer network. Nodes 110 through 160 have routing tables for caching only the information on the file and a local file storage in which the shared file is stored. The routing table has an identification key for identifying each node and the information on the node having the file and a next node accessible to the node.
The requester node 110 which wants to retrieve and download a specific file sends a retrieval message to the node A 120 which has the key value closest to the key value of the file to be retrieved in its own routing table. The node A 120 checks whether the requested file exists in its own local file storage, and if not, sends the retrieval message to the node B 130 which has the key value closest to the key value of the requested file in the file information cached in node A's own routing table.
The node B 130 checks whether the file exists in its own local storage, and if not, sends a retrieval failure message to the node A 120 by a backtracking method. If the node which transmits the retrieval message in the retrieval direction does not exist or a loop is generated, the retrieval is always performed using the backtracking method such as that described with respect to the node B 130.
After receiving the retrieval failure message, the node A 120 transmits the retrieval message to the node C 140 having the key value that is the second closest to the key value of the requested file. Then, the node C 140 transmits the retrieval message to the node D 150 and the node D 150 transmits the retrieval message to the node A 120. The node A 120 can tell whether this message looping is generated through a global unique identifier (GUID) of the retrieval message. The node A 120 transmits the retrieval failure message to the node C 140 through the node D 150 in the backtracking method. The node C 140 transmits the retrieval message to the node E 160 having the key value next closest to the key value of the requested file.
The node E 160 downloads the file to the requester node 110 through the node C 140 and through the node A 120, which is the path of requesting the retrieval since the node E 160 has the file requested by the requester node 110. At this time, the node C 140 and the node A 120, which are located in the download path, store the file in their own local storages. If the local storage is filled, the oldest file is removed and the information on the file is cached in the routing table according to the least recently used (LRU) rule.
When transmitting the file, the file retrieval range is limited based on a time-to-live (TTL) value, and a hop count used in the retrieval is set using a depth-to-live value. The protocol is packet-oriented and every message has a 64-bit transaction ID, a hops-to-live limit and a depth counter which are randomly generated. There are various kinds of protocol messages, such as the message Request.data that is used when retrieving a file, the message Request.failed that is sent when the retrieval fails, and the message Send.data that is used when sending the retrieved file to the requester. The above-mentioned retrieval method has a high retrieval success ratio and generates little traffic.
The conventional method of retrieving and downloading the data on the peer-to-peer network is designed for a wired environment, and stores the file in all the nodes located in the download path when downloading the file. Accordingly, a relatively large bandwidth must be allowed in the links between nodes, and each node must have a large storage capability for storing many files.
The wired and wireless integrated network has been developed and popularized, and high-performance wireless nodes including a wireless internet function have become more common. Although the peer-to-peer service is provided through the wired and wireless integrated network, wireless nodes generally have a small storage capability and a limited bandwidth of a wireless channel. Accordingly, the conventional peer-to-peer method of downloading data based on the wired network and wired node cannot be applied to the wired and wireless integrated environment.